@echo off
chcp 65001
echo ========================================
echo 修复Git推送问题脚本
echo ========================================
echo.

echo 当前目录: %CD%
echo.

:: 检查Git状态
echo 1. 检查Git状态...
git status
echo.

:: 检查分支
echo 2. 检查当前分支...
git branch
echo.

:: 检查是否有提交记录
echo 3. 检查提交历史...
git log --oneline -5 2>nul
if errorlevel 1 (
    echo 没有提交记录，需要创建初始提交
    goto :create_initial_commit
) else (
    echo 已有提交记录
    goto :check_remote
)

:create_initial_commit
echo.
echo 4. 创建初始提交...
git add .
git commit -m "feat: 添加三个模块登录页面的中英文切换功能

- 为xxpay-manage运营平台添加语言切换按钮
- 为xxpay-agent代理商系统添加语言切换按钮  
- 为xxpay-merchant商户系统添加语言切换按钮
- 实现动态语言切换和本地存储功能
- 完善国际化配置和API接口
- 添加完整的中英文语言包
- 支持浏览器语言自动检测
- 添加语言切换测试页面"

if errorlevel 1 (
    echo 提交失败，请检查是否有文件需要提交
    pause
    exit /b 1
)
echo 初始提交创建成功
echo.

:check_remote
echo 5. 检查远程仓库配置...
git remote -v
echo.

:: 检查远程仓库是否存在
git ls-remote origin >nul 2>&1
if errorlevel 1 (
    echo 远程仓库连接失败，请检查：
    echo 1. 网络连接是否正常
    echo 2. 仓库地址是否正确
    echo 3. 是否有访问权限
    pause
    exit /b 1
)

:: 获取当前分支名
for /f "tokens=2" %%i in ('git branch --show-current 2^>nul') do set CURRENT_BRANCH=%%i
if "%CURRENT_BRANCH%"=="" (
    for /f "tokens=2" %%i in ('git symbolic-ref --short HEAD 2^>nul') do set CURRENT_BRANCH=%%i
)
if "%CURRENT_BRANCH%"=="" set CURRENT_BRANCH=main

echo 当前分支: %CURRENT_BRANCH%
echo.

:: 尝试推送到当前分支
echo 6. 尝试推送到远程仓库...
echo 推送分支: %CURRENT_BRANCH%
git push -u origin %CURRENT_BRANCH%

if errorlevel 1 (
    echo.
    echo 推送失败，尝试其他解决方案...
    echo.
    
    :: 尝试强制推送
    echo 7. 尝试强制推送...
    set /p force_push="是否要强制推送？这会覆盖远程仓库内容 (y/N): "
    if /i "%force_push%"=="y" (
        git push -u origin %CURRENT_BRANCH% --force
        if errorlevel 1 (
            echo 强制推送也失败了
            goto :manual_steps
        ) else (
            echo 强制推送成功！
            goto :success
        )
    ) else (
        goto :manual_steps
    )
) else (
    echo 推送成功！
    goto :success
)

:manual_steps
echo.
echo ========================================
echo 自动推送失败，请手动执行以下步骤：
echo ========================================
echo.
echo 方案1 - 检查分支名称：
echo   git branch -a
echo   git push -u origin main
echo   或
echo   git push -u origin master
echo.
echo 方案2 - 重命名分支：
echo   git branch -M main
echo   git push -u origin main
echo.
echo 方案3 - 检查远程仓库：
echo   1. 确认Gitee仓库已创建
echo   2. 检查仓库地址是否正确
echo   3. 确认有推送权限
echo.
echo 方案4 - 重新设置远程仓库：
echo   git remote remove origin
echo   git remote add origin https://gitee.com/liyuanwei100/xxpay.git
echo   git push -u origin main
echo.
goto :end

:success
echo.
echo ========================================
echo 🎉 代码推送成功！
echo ========================================
echo.
echo 您的代码已成功上传到Gitee仓库：
echo https://gitee.com/liyuanwei100/xxpay
echo.
echo 接下来您可以：
echo 1. 访问Gitee查看代码
echo 2. 设置仓库描述和标签
echo 3. 配置协作者权限
echo 4. 设置Webhook或CI/CD
echo.

:end
echo ========================================
pause
